#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QAction>
#include "editor.h"
#include "tabbar.h"

namespace Lightning {

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    void SetupActions();
    void SetupMenus();
    void SetupUI();
    int  CreateEditor(QString filename);
    QAction* action_open;
    QAction* action_new;
    QAction* action_close;
    QAction* action_save;
    QAction* action_preferences;
    QAction* action_settings;
    QMenu*   file_menu;
    QMenu*   edit_menu;
    QMenu*   help_menu;
    QVector<Lightning::Editor*> editors;
    Lightning::TabBar* tabs;

    
signals:
    
public slots:
    void ActionSave();
    void ActionNew();
    void ActionClose();
    void ActionOpen();
    void ActionSettings();
    void UpdateSettings();
    
};

} // namespace Lightning

#endif // MAINWINDOW_H
